package com.woniu.gym.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.core.util.PageInfo;
import com.woniu.gym.dto.GymFindCoachInfoDto;
import com.woniu.gym.dto.GymJobCoachInfoDto;
import com.woniu.gym.dto.MyFansDto;
import com.woniu.gym.dto.UserFindCoachInfoDto;
import com.woniu.gym.form.GymFindCoachInfoForm;
import com.woniu.gym.form.ModifyGymCoachInfoForm;
import com.woniu.gym.form.UserFindCoachInfoForm;
import com.woniu.gym.model.TGymCoachInfo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 吴彦祖
 * @since 2024年04月02日
 */
public interface TGymCoachInfoService extends IService<TGymCoachInfo> {

    List<GymJobCoachInfoDto> commentCoch(String gymNum);

    List<GymJobCoachInfoDto> underCoch(String gymNum);

    PageInfo<UserFindCoachInfoDto> userFindAllCoach(UserFindCoachInfoForm form);

    PageInfo<GymFindCoachInfoDto> gymFindAllCoach(GymFindCoachInfoForm form);

    TGymCoachInfo modifyCoachNoWork(Integer coachId);

    TGymCoachInfo modifyCoachHaveWork(Integer coachId);

    TGymCoachInfo modifyCoachMark(Integer coachId, Double coachMark);

    TGymCoachInfo modifyInformation(ModifyGymCoachInfoForm form);

    GymFindCoachInfoDto follow(Integer coachId, Integer userId) throws Exception;

    PageInfo<MyFansDto> myFans(Integer pageNum, Integer pageSize, Integer coachInfoId) throws Exception;
}
